#!/usr/bin/make -f

# See FEATURE AREAS in dpkg-buildflags(1).
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

%:
	dh $@

# Disable dh_autoreconf since we are using de-ANSI-fication which was removed
# from automake a while ago. See <https://github.com/ngircd/ngircd/issues/261>.
override_dh_autoreconf:

override_dh_auto_configure:
	dh_auto_configure -- \
	    --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
	    --prefix=/usr \
	    --mandir=\$${prefix}/share/man \
	    --sysconfdir=/etc/ngircd \
	    --with-iconv \
	    --with-ident \
	    --with-openssl \
	    --with-pam \
	    --with-syslog \
	    --with-zlib

execute_before_dh_auto_install:
	ln -fs $(CURDIR)/contrib/ngircd.service $(CURDIR)/debian/ngircd.service

execute_after_dh_auto_install:
#	Generate the default ngircd.conf:
	install -o root -g irc -m 0640 -D /dev/null \
	 $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf
	sed \
	 -e "s|;ServerUID = 65534|ServerUID = irc|g" \
	 -e "s|;ServerGID = 65534|ServerGID = irc|g" \
	 -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /run/ircd/ngircd.pid|g" \
	 -e "s|;PAM = yes|PAM = no|g" \
	 -e "s|;\[SSL\]|[SSL]|g" \
	 -e "s|;CAFile = /etc/ssl/CA/cacert.pem|CAFile = /etc/ssl/certs/ca-certificates.crt|g" \
	 $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/sample-ngircd.conf \
	 >>$(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf

#	Create drop-in configuration directory:
	install -o root -g irc -m 0750 -d \
	 $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf.d

#	Install an empty MOTD file.
	install -o root -g irc -m 0640 -D /dev/null \
	 $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.motd

#	Install the logcheck(8) configuration.
	install -o root -g root -m 0644 -D \
	 $(CURDIR)/contrib/ngircd.logcheck \
	 $(CURDIR)/debian/ngircd/etc/logcheck/ignore.d.paranoid/ngircd

#	Install the fail2ban configuration.
	install -o root -g root -m 0644 -D \
	 $(CURDIR)/contrib/ngircd-fail2ban.conf \
	 $(CURDIR)/debian/ngircd/etc/fail2ban/filter.d/ngircd.conf

#	Make lintian happy :-)
	rm $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/COPYING
	mv $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/ChangeLog \
	    $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/changelog

override_dh_fixperms:
#	Preserve the permissions of files installed in /etc/ngircd!
	dh_fixperms -X/etc/ngircd

override_dh_compress:
#	The Commands.txt file is read by the daemon, don't compress it!
	dh_compress -XCommands.txt
